Apple II
Technical Notes
_____________________________________________________________________________
                                                  Developer Technical Support


Apple IIGS
#12:    Tool Set Interdependencies

Revised by:    Matt Deatherage                                  November 1988
Written by:    Jim Merritt                                         April 1987

This Technical Note lists all known interdependencies between system tool sets 
on the Apple IIGS.
_____________________________________________________________________________


Introduction

A tool set is dependent upon another if you must start the latter before 
starting the former.  You should start tool sets in the order listed below.  
Bulleted (o) names indicate that we recommend starting the corresponding tool 
set, but the order is not required for operation of the dependent tool.


Tool Set Interdependencies

Tool Locator                                 Tool #1 ($01)
    No dependencies.  Always start this tool set before any others.

Memory Manager                               Tool #2 ($02)
    Tool Locator             (#1)

Miscellaneous Tools                          Tool #3 ($03)
    Tool Locator             (#1)
    Memory Manager           (#2)

QuickDraw II                                 Tool #4 ($04)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)

Desk Manager                                 Tool #5 ($05)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    Event Manager            (#6)
    Window Manager           (#14)
    Control Manager          (#16)
    Menu Manager             (#15)
    Line Edit                (#20)
    Dialog Manager           (#21)
    Scrap Manager            (#22)

Event Manager                                Tool #6 ($06)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)

Scheduler                                    Tool #7 ($07)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)

Sound Manager                                Tool #8 ($08)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)

Apple Desktop Bus (ADB)                      Tool #9 ($09)
    Tool Locator             (#1)

SANE (Standard Apple Numeric Environment)    Tool #10 ($0A)
    Tool Locator             (#1)
    Memory Manager           (#2)

Integer Math Tools                           Tool #11 ($0B)
    Tool Locator             (#1)

Text Tools                                   Tool #12 ($0C)
    Tool Locator             (#1)

Window Manager                               Tool #14 ($0E)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    Event Manager            (#6)
    Control Manager          (#16)
    o Menu Manager           (#15)
    o Line Edit              (#20)           For AlertWindow call only
    o Font Manager           (#27)           For AlertWindow call only

Menu Manager                                 Tool #15 ($0F)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    Event Manager            (#6)
    o Window Manager         (#14)
    o Control Manager        (#16)

Control Manager                              Tool #16 ($10)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    Event Manager            (#6)
    Window Manager           (#14)
    Control Manager          (#16)
    o Menu Manager           (#15)

Note:    You should consider the Window, Control, and Menu Managers as one unit 
and start them in WCM order.

System Loader                                Tool #17 ($11)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)

QuickDraw Auxiliary Routines                 Tool #18 ($12)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    o Font Manager           (#27)

Note:    QuickDraw Auxiliary uses the Font Manager in the picture drawing 
routines.  For proper operation, you should start the Font Manager 
before using the QuickDraw Auxiliary picture routines; however, the 
picture routines will not fail if the Font Manager is not present.

Print Manager                                Tool #19 ($13)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    QuickDraw Auxiliary      (#18)
    Event Manager            (#6)
    Window Manager           (#14)
    Control Manager          (#16)
    Menu Manager             (#15)
    Line Edit                (#20)
    Dialog Manager           (#21)
    List Manager             (#28)
    Font Manager             (#27)

Line Edit                                    Tool #20 ($14)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    Event Manager            (#6)
    o QuickDraw Auxiliary    (#18)           For Text2 items; see below
    Scrap Manager            (#22)
    o Font Manager           (#27)           For Text2 items; see below

Dialog Manager                               Tool #21 ($15)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    Event Manager            (#6)
    Window Manager           (#14)
    Control Manager          (#16)
    Menu Manager             (#15)
    o QuickDraw Auxiliary    (#18)           For Text2 items; see below
    Line Edit                (#20)
    o Font Manager           (#27)           For Text2 items; see below

Note:    Line Edit and the Dialog Manager require the presence of the Font 
Manager and QuickDraw Auxiliary if you use LETextBox2 or LongStatText2 
items which require any font styling (e.g., outline, boldface, etc.).

Scrap Manager                                Tool #22 ($16)
    Tool Locator             (#1)
    Memory Manager           (#2)

Standard File Operations                     Tool #23 ($17)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    Event Manager            (#6)
    Window Manager           (#14)
    Control Manager          (#16)
    Menu Manager             (#15)
    Line Edit                (#20)
    Dialog Manager           (#21)

Note Synthesizer                             Tool #25 ($19)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Sound Tools              (#8)

Note Sequencer                               Tool #26 ($1A)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Sound Tools              (#8)
    Note Synthesizer         (#25)

Note:    The Note Sequencer automatically handles the start and shutdown of the 
Free-Form Sound Tools (#8) and the Note Synthesizer (#25), so programs 
that use the Note Sequencer must not execute start or shutdown calls for 
those tools.  Automatic start does not imply automatic loading.  If you 
plan to use the Note Sequencer, you must still load and install the 
Free-Form Sound Tool and the Synthesizer Tool explicitly through calls 
to the Tool Locator routines LoadTools or LoadOneTool or by calling the 
System Loader and Tool Locator directly in appropriate cases.

Font Manager                                 Tool #27 ($1B)
    Tool Locator             (#1)
    Memory Manager           (#2)
    o Miscellaneous Tools    (#3)            For ChooseFont call only
    QuickDraw II             (#4)
    o Integer Math Tools     (#11)           For ChooseFont call only
    o Window Manager         (#14)           For ChooseFont call only
    o Control Manager        (#16)           For ChooseFont call only
    o Menu Manager           (#15)           For FixFontMenu call only
    o List Manager           (#28)           For FixFontMenu and
                                                 ChooseFont calls
    o Line Edit              (#20)           For ChooseFont call only
    o Dialog Manager         (#21)           For ChooseFont call only

List Manager                                 Tool #28 ($1C)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    QuickDraw II             (#4)
    Event Manager            (#6)
    Window Manager           (#14)
    Control Manager          (#16)
    o Menu Manager           (#15)

Audio Compression and Expansion (ACE)        Tool #29 ($1D)
    Tool Locator             (#1)
    Memory Manager           (#2)

MIDI Tools                                   Tool #32 ($20)
    Tool Locator             (#1)
    Memory Manager           (#2)
    Miscellaneous Tools      (#3)
    Sound Manager            (#8)
    o Note Synthesizer       (#25)

Note:    The MIDI Tools require the Note Synthesizer if you intend to use the 
MIDI clock feature.  If you are not using the MIDI clock, the Note 
Synthesizer is not required.


Recommended Start Order

A close look at the preceding information will reveal apparent "circular 
dependencies" between various tool sets (i.e., two or more tool sets may 
depend upon each other).  To resolve the issue of which tool set to start 
first in such a situation, here is a list of the most commonly used tool sets, 
given in the order in which an application should start them.  You may start 
those tools which are indented at a specific level at that time or any time 
thereafter.

    Tool Locator                  (#1)
        ADB Tools                 (#9)
        Integer Math Tools        (#11)
        Text Tools                (#12)
    Memory Manager                (#2)
        SANE                      (#10)
        ACE                       (#29)
    Miscellaneous Tools           (#3)
        Scheduler                 (#7)
        System Loader             (#17)
        (Note:  LoaderStartup does nothing)
    QuickDraw II                  (#4)
        QuickDraw II Auxiliary    (#18)
    Event Manager                 (#6)
    Window Manager                (#14)
    Control Manager               (#16)
    Menu Manager                  (#15)
    LineEdit                      (#20)
    Dialog Manager                (#21)
        either
        Sound Tools then          (#8)
        Note Synthesizer          (#25)
        or
        Note Sequencer then       (#26)
        MIDI Tools                (#32)
    Standard File Operations      (#23)
    Scrap Manager                 (#22)
    Desk Manager                  (#5)
    List Manager                  (#28)
    Font Manager                  (#27)
    Print Manager                 (#19)

Note:    Although you may start the sound-related tools any time after the 
Miscellaneous Tools, we recommend you start them after most of the 
Desktop-related tools.


Further Reference
o    Apple IIGS Toolbox Reference, Volumes 1 & 2

